1. Technical Field
The present invention involves a new system and process for automatically assigning scores to predictor values for measuring the influence of each predictor/variable value pair on a prediction of likely user choices.
2. Related Art
By way of background, collaborative filtering or recommender systems typically use various probabilistic methods in combination with one or more databases comprised of user preferences to predict additional topics, items, or products a new user might like. Generally, the goal of such systems is to predict the utility of items to a particular user based on a database of user preferences or votes from a sample or population of other users. Either of two general classes of collaborative filtering algorithms, e.g., memory-based algorithms or model-based collaborative filtering, is often used for making such predictions. One limitation of such systems is that while they are useful for predicting user preferences, they are not useful for determining the contribution or influence of particular user preferences or votes from the population of users on particular user preference predictions.
For example, a probabilistic model can be used for making predictions in a movie-recommendation application that suggests movies to users based on the other movies that they have seen. One method of implementing such a system is to build a probabilistic model over the set of variables M={M1, . . . , Mn}, where Mi is a binary variable denoting whether or not a user has seen the ith movie. The model is constructed such that, for each movie i, the conditional probability, p(Mi=watched |M\{Mi}) is extracted for each movie. In general, such a system is used to recommend movies as follows: for each movie Mi that a user has not watched, the probability that the user would have watched the movie is calculated based on the assumption that it is unknown whether the user has actually watched movie Mi. Such a system then recommends those movies that have the highest posterior probability. However, while this system recommends movies based on the probability that a user will want to watch the movies, it fails to answer the question as to why the user might want to watch the movies. In other words, such a system is unable to determine which other movies from the set M={M1, . . . , Mn} were most influential in making the particular probabilistic recommendations to the user.
Consequently, what is needed is a system and process for determining which elements of a probabilistic model have the greatest influence on particular probabilistic predictions or recommendations computed from the probabilistic model. Determining which elements have the greatest influence on the predictions or recommendations allows the question to be answered as to why such predictions or recommendations were made.